package com.xiang._01;

import java.io.File;
import java.io.IOException;
import java.net.URL;

/**
 * 获取类路径的常见方式
 */
public class DirTest {
    public static void main(String[] args) throws IOException {

        DirTest test =new DirTest();
        test.showURL();

    }

    public  void showURL() throws IOException {
// 第一种：获取类加载的根路径
        File f = new File(this.getClass().getResource("/").getPath());
        System.out.println("1:"+f);
// 获取当前类的所在工程路径; 如果不加“/” 获取当前类的加载目录
        File f2 = new File(this.getClass().getResource("").getPath());
        System.out.println("2:"+f2);
// 第二种：获取项目路径
        File directory = new File("");// 参数为空
        String courseFile = directory.getCanonicalPath();
        System.out.println("3:"+courseFile);
// 第三种：根据系统资源获取
        URL xmlpath = this.getClass().getClassLoader().getResource("");
        System.out.println("4:"+xmlpath);
// 第四种：系统变量
        System.out.println("5:"+System.getProperty("user.dir"));
// 第五种：获取所有的类路径 包括jar包的路径
        System.out.println("6:"+System.getProperty("java.class.path"));
    }
}
